function fib(n) {
  let arr = [2, 2]
  for (let i = 0; i < n - 2; i++) {
    arr.push(arr[arr.length - 1] + arr[arr.length - 2])
    // console.log(arr)
  }
  // console.log(arr)
  return arr[n - 1]
}
console.log(fib(60))

// function fib2(n) {
//   if (n < 3) {
//     return 2
//   }
//   return fib2(n - 1) + fib2(n - 2)
// }

// console.log(fib(4))
// console.log('fib2', fib2(60))

// 1
// 131
// 13531
// 总行数是2-1
function printStar(n) {
  for (let i = 1; i < n + 1; i++) {
    // 最长的长度是2*n-1
    let count = 2 * i - 1
    // (2*n-1-count)/2
    // for (let j = 0; j < (2 * n - 1 - count) / 2; j++) {
    //   console.log('空')
    // }
    let str1 = ''
    for (let j = 0; j < (2 * n - 1 - count) / 2; j++) {
      str1 += ' '
    }
    let str2 = ''
    for (let k = 0; k < count; k++) {
      str2 += '*'
    }
    // let str2 = '*' * count
    let str3 = ''
    for (let l = 0; l < (2 * n - 1 - count) / 2; l++) {
      str3 += ' '
    }
    console.log(str1 + str2 + str3)
    // console.log(2 * i - 1)
  }
  for (let i = n - 1; i > 0; i--) {
    // console.log(2 * i - 1)
    count = 2 * i - 1
    let str1 = ''
    for (let j = 0; j < (2 * n - 1 - count) / 2; j++) {
      str1 += ' '
    }
    let str2 = ''
    for (let k = 0; k < count; k++) {
      str2 += '*'
    }
    // let str2 = '*' * count
    let str3 = ''
    for (let l = 0; l < (2 * n - 1 - count) / 2; l++) {
      str3 += ' '
    }
    console.log(str1 + str2 + str3)
    // (2*n-1-count)/2
    // for (let j = 0; j < (2 * n - 1 - count) / 2; j++) {
    //   console.log('空')
    // }
    // for (let j = 0; j < count; j++) {
    //   console.log('*')
    // }
    // // (2*n-1-count)/2
    // for (let j = 2 * n; j > count - 1; j--) {
    //   console.log('空')
    // }
  }
}
printStar(7)
// 九九乘法表
function getNine() {
  for (let i = 0; i < 9; i++) {
    tmp = ''
    for (let j = 0; j <= i; j++) {
      tmp += ` ${i + 1} * ${j + 1} = ${(j + 1) * (i + 1)}`
    }
    console.log(tmp)
  }
}
getNine()
